KILLEDRuntime Complexity (full) proof of /tmp/tmpeR_4dw/2.07.xml
The Runtime Complexity (full) of the given CpxTRS could be proven to be BOUNDS(n^1, INF).0 CpxTRS↳1 DecreasingLoopProof (⇔, 92 ms)↳2 BOUNDS(n^1, INF)↳3 RenamingProof (⇔, 0 ms)↳4 CpxRelTRS↳5 SlicingProof (LOWER BOUND(ID), 0 ms)↳6 CpxRelTRS↳7 TypeInferenceProof (BOTH BOUNDS(ID, ID), 0 ms)↳8 typed CpxTrs↳9 OrderProof (LOWER BOUND(ID), 0 ms)↳10 typed CpxTrs(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
f(0, y) → y
f(x, 0) → x
f(i(x), y) → i(x)
f(f(x, y), z) → f(x, f(y, z))
f(g(x, y), z) → g(f(x, z), f(y, z))
f(1, g(x, y)) → x
f(2, g(x, y)) → y
Rewrite Strategy: FULL(1) DecreasingLoopProof (EQUIVALENT transformation)
The following loop(s) give(s) rise to the lower bound Ω(n1):
The rewrite sequence
f(g(x, y), z) →+ g(f(x, z), f(y, z))
gives rise to a decreasing loop by considering the right hand sides subterm at position [0].
The pumping substitution is [x / g(x, y)].
The result substitution is [ ].(2) BOUNDS(n^1, INF)
(3) RenamingProof (EQUIVALENT transformation)
Renamed function symbols to avoid clashes with predefined symbol.(4) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
f(0', y) → y
f(x, 0') → x
f(i(x), y) → i(x)
f(f(x, y), z) → f(x, f(y, z))
f(g(x, y), z) → g(f(x, z), f(y, z))
f(1', g(x, y)) → x
f(2', g(x, y)) → y
S is empty.
Rewrite Strategy: FULL(5) SlicingProof (LOWER BOUND(ID) transformation)
Sliced the following arguments:
i/0(6) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
f(0', y) → y
f(x, 0') → x
f(i, y) → i
f(f(x, y), z) → f(x, f(y, z))
f(g(x, y), z) → g(f(x, z), f(y, z))
f(1', g(x, y)) → x
f(2', g(x, y)) → y
S is empty.
Rewrite Strategy: FULL(7) TypeInferenceProof (BOTH BOUNDS(ID, ID) transformation)
Infered types.(8) Obligation:
TRS:
Rules:
f(0', y) → y
f(x, 0') → x
f(i, y) → i
f(f(x, y), z) → f(x, f(y, z))
f(g(x, y), z) → g(f(x, z), f(y, z))
f(1', g(x, y)) → x
f(2', g(x, y)) → y
Types:
f :: 0':i:g:1':2' → 0':i:g:1':2' → 0':i:g:1':2'
0' :: 0':i:g:1':2'
i :: 0':i:g:1':2'
g :: 0':i:g:1':2' → 0':i:g:1':2' → 0':i:g:1':2'
1' :: 0':i:g:1':2'
2' :: 0':i:g:1':2'
hole_0':i:g:1':2'1_0 :: 0':i:g:1':2'
gen_0':i:g:1':2'2_0 :: Nat → 0':i:g:1':2'(9) OrderProof (LOWER BOUND(ID) transformation)
Heuristically decided to analyse the following defined symbols:
f(10) Obligation:
TRS:
Rules:
f(0', y) → y
f(x, 0') → x
f(i, y) → i
f(f(x, y), z) → f(x, f(y, z))
f(g(x, y), z) → g(f(x, z), f(y, z))
f(1', g(x, y)) → x
f(2', g(x, y)) → y
Types:
f :: 0':i:g:1':2' → 0':i:g:1':2' → 0':i:g:1':2'
0' :: 0':i:g:1':2'
i :: 0':i:g:1':2'
g :: 0':i:g:1':2' → 0':i:g:1':2' → 0':i:g:1':2'
1' :: 0':i:g:1':2'
2' :: 0':i:g:1':2'
hole_0':i:g:1':2'1_0 :: 0':i:g:1':2'
gen_0':i:g:1':2'2_0 :: Nat → 0':i:g:1':2'Generator Equations:
gen_0':i:g:1':2'2_0(0) ⇔ 0'
gen_0':i:g:1':2'2_0(+(x, 1)) ⇔ g(0', gen_0':i:g:1':2'2_0(x))The following defined symbols remain to be analysed:
f